package com.ctshk.rpc.order.scenic.service.app;

import com.ctshk.common.dto.Result;
import com.ctshk.common.model.AppReq;
import com.ctshk.rpc.order.scenic.dto.app.ScenicOrderAppOrderDetailDTO;
import com.ctshk.rpc.order.scenic.dto.app.ScenicOrderPayDTO;
import com.ctshk.rpc.order.scenic.req.app.ScenicOrderAppPlaceOrderReq;
import com.ctshk.rpc.order.scenic.req.app.ScenicOrderCallPayReq;
import com.ctshk.rpc.order.scenic.req.app.ScenicOrderConsumeReq;

public interface IScenicOrderAppService {
    Result<Long> addOrderInfo(ScenicOrderAppPlaceOrderReq req, AppReq appReq);

    Result<Boolean> cancelOrder(Long orderId);

    Result<ScenicOrderAppOrderDetailDTO> selectOrderInfo(Long orderId);

    Result<ScenicOrderPayDTO> selectOrderPayInfo(Long orderId);

    Result callPay(ScenicOrderCallPayReq req);

    Result payment(ScenicOrderConsumeReq scenicOrderConsumeReq);
}
